package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 充电枪信息对象 charging_gun
 * 
 * @author ruoyi
 * @date 2025-06-27
 */
public class ChargingGun extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 充电枪主键ID */
    private Integer cgId;

    /** 充电枪名称 */
    @Excel(name = "充电枪名称")
    private String cgName;

    /** 所属充电桩ID */
    @Excel(name = "所属充电桩ID")
    private Integer cgPileId;

    /** 所属充电站ID */
    @Excel(name = "所属充电站ID")
    private Integer cgStationId;

    /** 电压 */
    @Excel(name = "电压")
    private String cgVoltage;

    /** 充电枪状态（充电/空闲/离线等） */
    @Excel(name = "充电枪状态", readConverterExp = "充=电/空闲/离线等")
    private String cgStatus;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date cgCreateTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date cgUpdateTime;

    public void setCgId(Integer cgId) 
    {
        this.cgId = cgId;
    }

    public Integer getCgId() 
    {
        return cgId;
    }

    public void setCgName(String cgName) 
    {
        this.cgName = cgName;
    }

    public String getCgName() 
    {
        return cgName;
    }

    public void setCgPileId(Integer cgPileId) 
    {
        this.cgPileId = cgPileId;
    }

    public Integer getCgPileId() 
    {
        return cgPileId;
    }

    public void setCgStationId(Integer cgStationId) 
    {
        this.cgStationId = cgStationId;
    }

    public Integer getCgStationId() 
    {
        return cgStationId;
    }

    public void setCgVoltage(String cgVoltage) 
    {
        this.cgVoltage = cgVoltage;
    }

    public String getCgVoltage() 
    {
        return cgVoltage;
    }

    public void setCgStatus(String cgStatus) 
    {
        this.cgStatus = cgStatus;
    }

    public String getCgStatus() 
    {
        return cgStatus;
    }

    public void setCgCreateTime(Date cgCreateTime) 
    {
        this.cgCreateTime = cgCreateTime;
    }

    public Date getCgCreateTime() 
    {
        return cgCreateTime;
    }

    public void setCgUpdateTime(Date cgUpdateTime) 
    {
        this.cgUpdateTime = cgUpdateTime;
    }

    public Date getCgUpdateTime() 
    {
        return cgUpdateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("cgId", getCgId())
            .append("cgName", getCgName())
            .append("cgPileId", getCgPileId())
            .append("cgStationId", getCgStationId())
            .append("cgVoltage", getCgVoltage())
            .append("cgStatus", getCgStatus())
            .append("cgCreateTime", getCgCreateTime())
            .append("cgUpdateTime", getCgUpdateTime())
            .toString();
    }
}
